Handle the case where the inner rounded rect is fully contained
within the outer rounded rect.
case GSK_VULKAN_CLIP_ROUNDED_CIRCULAR:
case GSK_VULKAN_CLIP_ROUNDED:
- /* XXX: improve */
+ if (gsk_rounded_rect_contains_rect (&src->rect, &rounded->bounds))
+ {
+ dest->type = gsk_rounded_rect_is_circular (rounded) ? GSK_VULKAN_CLIP_ROUNDED_CIRCULAR : GSK_VULKAN_CLIP_ROUNDED;
+ gsk_rounded_rect_init_copy (&dest->rect, rounded);
+ return TRUE;
+ }
+ /* XXX: Can be improved for the case where one of the rects is a slighty shrunk version of the other */
return FALSE;
default: